Inheritance Usage Ratio (IUR)

Description:

The IUR metric is a metric defined between a subclass and one of its ancestor classes. It is the relative number of inheritance-specific members from the ancestor class used in the derived class.

A member of an ancestor class is an inheritance-specific member if its usage is related to inheritance. We identify the following inheritance-specific members:

The IUR is computed by counting the number of inheritance-specific members of the ancestor class that are used in the subclass, and then divide it by the total numbers of inheritance-specific members from the ancestor. The only usages that are counted are: the access of protected data members, the call of protected methods and the redefinition of a virtual method.